package com.ruoyi.backend.service;

import com.github.pagehelper.PageInfo;
import com.ruoyi.backend.dto.EcologicalDataDTO;
import com.ruoyi.backend.vo.EcologicalDataVO;
import com.ruoyi.backend.vo.InversionResultVO;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

import javax.validation.constraints.NotNull;
import java.time.Instant;
import java.util.ArrayList;

public interface EcologicalService {

    void inversion(String mineId, String dateTime, String spatialCoverage, String is, ArrayList<String> ecologicalIds, SseEmitter sseEmitter);

    PageInfo<InversionResultVO> searchInversionResult(String mineId, Instant startTime, Instant endTime, Integer status, String ecologicalId, int pageNumber, int pageSize);

    boolean saveInversion(String fileName);

    ArrayList<EcologicalDataVO> selectMassiveEcologicalData(String mineId, String ecologicalCategory);

    void uploadData(EcologicalDataDTO ecologicalDataDTO);

    void updateData(EcologicalDataDTO ecologicalDataDTO);

    void deleteData(@NotNull Long id);
}
